Add stub gtk_window_export_handle implementation for some backends
authorLuca Bacci <luca.bacci982@gmail.com>
Tue, 21 Jun 2022 09:45:19 +0000 (11:45 +0200)
committerLuca Bacci <luca.bacci982@gmail.com>
Tue, 21 Jun 2022 20:56:33 +0000 (22:56 +0200)
gtk/gtkwindow.c

index c2ff60da32371f00e84b6cdfc21577e7127f8c4f..2c8c5502e8bfdeaed0034669cc2741e0ea542fa6 100644 (file)
 #include "wayland/gdksurface-wayland.h"
 #endif
 
+#ifdef GDK_WINDOWING_MACOS
+#include "macos/gdkmacos.h"
+#endif
+
 #ifdef GDK_WINDOWING_BROADWAY
 #include "broadway/gdkbroadway.h"
 #endif
@@ -6264,6 +6268,27 @@ gtk_window_export_handle (GtkWindow               *window,
         }
     }
 #endif
+#ifdef GDK_WINDOWING_MACOS
+  if (GDK_IS_MACOS_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
+    {
+      callback (window, NULL, user_data);
+      return TRUE;
+    }
+#endif
+#ifdef GDK_WINDOWING_WIN32
+  if (GDK_IS_WIN32_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
+    {
+      callback (window, NULL, user_data);
+      return TRUE;
+    }
+#endif
+#ifdef GDK_WINDOWING_BROADWAY
+  if (GDK_IS_BROADWAY_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
+    {
+      callback (window, NULL, user_data);
+      return TRUE;
+    }
+#endif
 
   g_warning ("Couldn't export handle for %s surface, unsupported windowing system",
              G_OBJECT_TYPE_NAME (priv->surface));
@@ -6287,6 +6312,18 @@ gtk_window_unexport_handle (GtkWindow *window)
   if (GDK_IS_X11_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
     return;
 #endif
+#ifdef GDK_WINDOWING_MACOS
+  if (GDK_IS_MACOS_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
+    return;
+#endif
+#ifdef GDK_WINDOWING_WIN32
+  if (GDK_IS_WIN32_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
+    return;
+#endif
+#ifdef GDK_WINDOWING_BROADWAY
+  if (GDK_IS_BROADWAY_DISPLAY (gtk_widget_get_display (GTK_WIDGET (window))))
+    return;
+#endif
 
   g_warning ("Couldn't unexport handle for %s surface, unsupported windowing system",
              G_OBJECT_TYPE_NAME (priv->surface));